package cn.omisheep.au;

import java.util.Map;

/**
 * @author zhou xin chen  😊
 * 联系方式 qq:1269670415  email:xinchenzhou666@gmail.com
 */
public abstract class UserContext {

    /**
     * @return 用户名
     */
    public abstract String getUsername();

    /**
     * @return 用户密码
     */
    public abstract String getPassword();

    /**
     * @param password 设置用户密码
     */
    public abstract void setPassword(String password);

    /**
     * @return UserId 用户id
     */
    public abstract Object getId();

    /**
     * @return 权限角色，如 admin,user,zxc
     */
    public abstract String getRole();


    /**
     * 将一些实体类的其他属性放与其中
     * 如果不想通过dao层，则可以在AuUserData的实现类中从Claims里获得该属性然后进行权限判断
     *
     * @return 其他属性
     */
    public Map<String, Object> auCustomPropertiesInToken() {
        return null;
    }

}
